package net.csdn.business.mirror.entity.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("project_mirror_data")
public class ProjectMirrorData {

    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 导入目标仓库的id
     */
    private Long projectId;

    /**
     * 在源仓库（github、gitee）的path
     */
    private String repoPath;
    /**
     * 在导入目标仓库的path
     */
    private String fullPath;
    /**
     * 下次执行时间
     */
    private Date nextExecutionAt;

    /**
     * 镜像同步或导入执行状态：0:导入中;1:导入成功;2:同步中;3:同步完成;4:同步失败;5:已暂停;6:待同步;7:导入失败;99:已禁用',
     */
    private Integer status;

    /**
     * 上次镜像同步或导入执行时间
     */
    private Date lastExecutionAt;

    private Date nextSyncExecutionAt;

    private Integer syncStatus;

    private Date lastSyncSuccessfulUpdateAt;

    /**
     * 上次镜像同步或导入执行失败的错误
     */
    private String lastError;

    private String lastSyncError;

    private String creator;

    private String creatorId;

    private String targetOrg;

    private String targetOrgId;

    private String token;
    /**
     * 操作导入的用户类型：0： admin 1： user
     */
    private Integer userType;
    /**
     * 平台类型：0： github 1 ：gitee
     */
    private Integer type;
    /**
     * 是否自动仓库同步开关: 0：否；1：是
     */
    private Integer isSync;
    /**
     * 仓库的可见性： 0:私有；20：公开
     */
    private Integer visibilityLevel;
    /**
     *  镜像仓库的描述
     */
    private String description;

    private Date createdAt;

    private Date updatedAt;

}